from django.shortcuts import render, HttpResponse


# Create your views here.
def index(request):
    '''首页

    准备工作
    '''
    markdown = """# MYSQL

## 数据库操作, 常用数据类型

```sql
# 登录
mysql -u root -p;

# 创建数据库
CREATE DATABASE IF NOT EXISTS blogdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# 使用数据库
use work03;
```

### 数据类型

#### 数值类型

MySQL支持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC)，以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。

关键字INT是INTEGER的同义词，关键字DEC是DECIMAL的同义词。

BIT数据类型保存位字段值，并且支持MyISAM、MEMORY、InnoDB和BDB表。

作为SQL标准的扩展，MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

#### 日期时间型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值，当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性，将在后面描述。

#### 字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

## 创建表结构, 常用字段约束

```sql
create table `users`(
`id` int unsigned not null PRIMARY KEY AUTO_INCREMENT COMMENT 'id号',
`name` varchar(32) unique not null COMMENT '姓名',
`email` varchar(100) null COMMENT '邮箱地址',
`cdate` datetime null COMMENT '注册时间');
    # 数据库中创建表 users

create table `blog`(
`id` int unsigned not null PRIMARY KEY AUTO_INCREMENT comment 'id号',
`title` varchar(100) not null comment '标题',
`abstract` varchar(200) not null comment '摘要',
`content` text not null comment '博文标识',
`uid` int unsigned null comment '用户标识',
`pcount` int unsigned default 0 comment '点赞数',
`flag` tinyint unsigned default 0 comment '状态',
`cdate` datetime comment '创建时间'
);
    # 数据库中创建表 blog
```

## SQL增删改查

```sql
                    /* 数据操作 */
-- 增
    INSERT [INTO] 表名 [(字段列表)] VALUES (值列表)[, (值列表), ...]
        -- 如果要插入的值列表包含所有字段并且顺序一致，则可以省略字段列表。
        -- 可同时插入多条数据记录！
        REPLACE 与 INSERT 完全一样，可互换。
    INSERT [INTO] 表名 SET 字段名=值[, 字段名=值, ...]
-- 查
    SELECT 字段列表 FROM 表名[ 其他子句]
        -- 可来自多个表的多个字段
        -- 其他子句可以不使用
        -- 字段列表可以用*代替，表示所有字段
-- 删
    DELETE FROM 表名[ 删除条件子句]
        没有条件子句，则会删除全部
-- 改
    UPDATE 表名 SET 字段名=新值[, 字段名=新值] [更新条件]
```

"""
    context = {
        'title': 'Home',
        'markdown': markdown,
    }
    return render(request, 'marked.html', context)
